package com.my.createtype.builder;
/*
 * java23种设计模式之一，英文叫Builder Pattern。其核心思想是将一个“复杂对象的构建算法”与它的“部件及组装方式”分离，
 * 使得构件算法和组装方式可以独立应对变化；复用同样的构建算法可以创建不同的表示，不同的构建过程可以复用相同的部件组装方式。
 */
public class Test {


	public static void main(String[] args) {
		TrainDirector director = new TrainDirector();
		Train t1 = director.constructTrain(new NorthTrainBuilder());
		Train t2 = director.constructTrain(new SouthTrainBuilder());
		
		System.out.println(t1.getHead());
		System.out.println(t1.getBody());
		System.out.println(t1.getTail());
		System.out.println(t2.getHead());
		System.out.println(t2.getBody());
		System.out.println(t2.getTail());
	}

}
